//1. {{}} 替换replace 占位符
//2. {{name}} person.name 正则
let template = '我是{{name}},年龄{{age}},性别{{sex}}';
let person = {
    name: 'gch',
    age: 22,
    sex: '女'
}
// 写一个render 函数  ，完成字符串模板的嵌入值
/**
 * @func 字符串模板所有{{}} 占位符替换成对象里的值
 * @param {string} template 
 * @param {object} data 
 * @return {string}
 */
function render(template,data) {
    // {{}} /w [a-z] 所有的字母 \d [0-9] {} 长度
    const reg = /\{\{([a-z]+)\}\}/;
   // console.log(Object.prototype.toString.call(reg)) //[object reg]
   console.log(reg.test(template))
    if(reg.test(template)) { // 占位符没有被替换 
        const name = reg.exec(template)[1];  // exec 正则的一个方法
        console.log(name)
        // js的 replace 接受一个正则
        template = template.replace(reg,person[name])
        console.log(template)
        return render(template, data);
    }
    // 把一个大问题，分成很多个类似的小问题 退出条件 问题解决
   // 递归 函数调用自己
   return template;
}
console.log(render(template,person));